home *** CD-ROM | disk | FTP | other *** search
- package com.soap.net
- {
- import com.markdavies.debug.DebugBox;
- import com.markdavies.events.CustomEvent;
- import flash.events.*;
- import flash.net.*;
-
- public class MarvelLoginConnector extends EventDispatcher
- {
-
- public static var EVENT_LOGIN_FAILED:String = "loginFailed";
-
- public static var LOGIN_URL:String = "/soap/login.php";
-
- public static var EVENT_LOGIN_SUCCESS:String = "loginSuccess";
-
-
- private var recVariables:URLVariables;
-
- private var sendVariables:URLVariables;
-
- private var loader:URLLoader;
-
- private var request:URLRequest;
-
- public var marvelUser:MarvelLoginUser;
-
- public function MarvelLoginConnector()
- {
- super();
- init();
- }
-
- private function securityErrorHandler(param1:SecurityErrorEvent) : void
- {
- DebugBox.debug("marvellogin","securityErrorHandler");
- dispatchEvent(new CustomEvent(MarvelLoginConnector.EVENT_LOGIN_FAILED));
- }
-
- private function init() : void
- {
- loader = new URLLoader();
- request = new URLRequest(MarvelLoginConnector.LOGIN_URL);
- }
-
- private function ioErrorHandler(param1:IOErrorEvent) : void
- {
- DebugBox.debug("marvellogin","ioErrorHandler");
- dispatchEvent(new CustomEvent(MarvelLoginConnector.EVENT_LOGIN_FAILED));
- }
-
- public function login(param1:String, param2:String) : void
- {
- var user:String = param1;
- var pass:String = param2;
- sendVariables = new URLVariables();
- sendVariables.action = "login";
- sendVariables.user = user;
- sendVariables.pass = pass;
- request.data = sendVariables;
- request.method = "GET";
- loader.addEventListener(Event.COMPLETE,onComplete,false,0,true);
- loader.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler,false,0,true);
- loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHandler,false,0,true);
- try
- {
- loader.load(request);
- }
- catch(error:Error)
- {
- DebugBox.debug("marvellogin","can\'t load that");
- dispatchEvent(new CustomEvent(MarvelLoginConnector.EVENT_LOGIN_FAILED));
- }
- }
-
- private function onComplete(param1:Event) : void
- {
- var _loc2_:Array = null;
- var _loc3_:int = 0;
- var _loc4_:Array = null;
- marvelUser = new MarvelLoginUser();
- _loc2_ = loader.data.split("&");
- _loc3_ = 0;
- while(_loc3_ < _loc2_.length)
- {
- _loc4_ = _loc2_[_loc3_].split("=");
- switch(_loc4_[0])
- {
- case "user_id":
- marvelUser.userID = _loc4_[1];
- break;
- case "member_name":
- marvelUser.username = _loc4_[1];
- break;
- case "country_id":
- marvelUser.country = _loc4_[1];
- break;
- }
- _loc3_++;
- }
- if(marvelUser.userID != "")
- {
- dispatchEvent(new CustomEvent(MarvelLoginConnector.EVENT_LOGIN_SUCCESS,{"marvelUser":marvelUser}));
- }
- else
- {
- dispatchEvent(new CustomEvent(MarvelLoginConnector.EVENT_LOGIN_FAILED));
- }
- }
- }
- }
-